<#assign entityName="${nameInfo.entityName?uncap_first}">
package ${nameInfo.daoImplPackage};

import java.util.List;
<#if (nameInfo.basicDaoPackage!=nameInfo.daoImplPackage)>
import ${nameInfo.basicDaoPackage}.${nameInfo.basicDaoName};
</#if>
import ${nameInfo.entityPackage}.${nameInfo.entityName};
import ${nameInfo.daoPackage}.${nameInfo.daoName};
import org.springframework.stereotype.Service;

@Service
public class ${nameInfo.daoImplName} extends ${nameInfo.basicDaoName} implements ${nameInfo.daoName} {

	public ${nameInfo.daoImplName}() {
	}
	
	@Override
	public void delete${nameInfo.entityName}(${nameInfo.entityName} ${entityName}) throws Exception {
		super.deleteEntity(${entityName});
	}

	@Override
	public List<${nameInfo.entityName}> queryAll${nameInfo.entityName}() throws Exception {
		return super.queryAllEntity(${nameInfo.entityName}.class);
	}

	@Override
	public ${nameInfo.entityName} query${nameInfo.entityName}ByKey(${nameInfo.entityName} ${entityName}) throws Exception {
		<#if (columnList[0]?size>1)>
		return super.queryEntityByKey(${entityName}, ${nameInfo.entityName}.class);
		<#else>
		<#list columnList[0] as column>
		return super.queryEntityByKey(${entityName}.${column.javaGetter}(), ${nameInfo.entityName}.class);
		</#list>
		</#if>
	}

	@Override
	public void save${nameInfo.entityName}(${nameInfo.entityName} ${entityName}) throws Exception {
		super.saveEntity(${entityName});
	}

	@Override
	public void update${nameInfo.entityName}(${nameInfo.entityName} ${entityName}) throws Exception {
		super.updateEntity(${entityName});
	}	
}